﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace Kokomo.Mirror.CliMetadata.Signatures
{
	public abstract class TypeSpec : TypedElement
	{
		public CustomModifiers customMods;

		public abstract bool IsComplete { get; }

		public abstract bool Matches(
			Type type,
			Module module,
			Type[] genericTypeArguments,
			Type[] genericMethodArguments
			);
		public abstract bool Matches(
			Module ownerModule,
			TypeSpec other,
			Module otherModule
			);
	}
}
